|
100
|
Add a pool to cover all visible-elements

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Pools.Add(Nil,Nil,Nil,Nil).HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderLeft] := 24;
EndUpdate();
end
|
|
99
|
How can I ensure that a specified pool fits the surface's visible area
with AxSwimLane1 do
begin
with Pools do
begin
with Add(Nil,Nil,Nil,Nil).Pattern do
begin
Type := EXSWIMLANELib.PatternEnum.exPatternBDiagonal;
Color := $e0e0e0;
end;
Add(TObject(2000),Nil,Nil,Nil).EnsureVisible();
end;
end
|
|
98
|
No property for the pool can be saved/restored through Undo/Redo feature

with AxSwimLane1 do
begin
AllowUndoRedo := True;
with Pools.Add(TObject(-54),TObject(-47),TObject(244),TObject(112)) do
begin
l := StartUpdatePool;
with Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical] do
begin
Color := $f0f0f0;
Children.Count := 2;
end;
EndUpdatePool(l);
end;
end
|
|
97
|
Rename Undo/Redo commands into the control's toolbar

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
ToolBarFormat := '-1,100,102,101,|,103,104';
set_ToolBarCaption(103,'Anuleaza <img>4</img>');
set_ToolBarCaption(104,'<img>5</img>Reface');
set_ToolBarToolTip(103,'Anuleaza ultima actiune UI. Pentru a anula o actiune apasati Ctrl+Z.');
set_ToolBarToolTip(104,'Inverseaza cea mai recenta operatie de anulare. Pentru a reface o actiune apasati Ctrl+Y.');
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
EndUpdate();
end
|
|
96
|
Add Undo/Redo commands to control's toolbar

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
ToolBarFormat := '-1,100,102,101,|,103,104';
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
EndUpdate();
end
|
|
95
|
Clear Undo/Redo queue (method 2)

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
c := UndoRedoQueueLength;
UndoRedoQueueLength := 0;
UndoRedoQueueLength := c;
OutputDebugString( get_UndoListAction(Nil,Nil) );
EndUpdate();
end
|
|
94
|
Clear Undo/Redo queue (method 1)

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
AllowUndoRedo := True;
OutputDebugString( get_UndoListAction(Nil,Nil) );
EndUpdate();
end
|
|
93
|
Removes Redo operations

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Undo();
RedoRemoveAction(TObject(10),Nil);
OutputDebugString( get_RedoListAction(Nil,Nil) );
EndUpdate();
end
|
|
92
|
Removes Undo operations

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
UndoRemoveAction(TObject(10),Nil);
OutputDebugString( get_UndoListAction(Nil,Nil) );
EndUpdate();
end
|
|
91
|
Record the UI operations as a block of undo/redo operations

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
StartBlockUndoRedo();
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
EndBlockUndoRedo();
OutputDebugString( get_UndoListAction(Nil,Nil) );
EndUpdate();
end
|
|
90
|
Groups the next to current Undo/Redo Actions in a single block

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
GroupUndoRedoActions(3);
OutputDebugString( get_UndoListAction(Nil,Nil) );
EndUpdate();
end
|
|
89
|
Limits the number of entries within the Undo/Redo queue

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
UndoRedoQueueLength := 1;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
OutputDebugString( get_UndoListAction(Nil,Nil) );
EndUpdate();
end
|
|
88
|
Lists the Redo actions that can be performed on the surface

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Undo();
OutputDebugString( get_RedoListAction(Nil,Nil) );
EndUpdate();
end
|
|
87
|
Lists the Undo actions that can be performed on the surface

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
OutputDebugString( get_UndoListAction(Nil,Nil) );
EndUpdate();
end
|
|
86
|
Checks whether the Undo operation is possible

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Undo();
OutputDebugString( 'CanRedo' );
OutputDebugString( CanRedo );
EndUpdate();
end
|
|
85
|
Call Redo by code

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Undo();
Redo();
EndUpdate();
end
|
|
84
|
Checks whether the Undo operation is possible

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
OutputDebugString( 'CanUndo' );
OutputDebugString( CanUndo );
EndUpdate();
end
|
|
83
|
Call Undo by code

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Undo();
EndUpdate();
end
|
|
82
|
Save the element's properties for Undo/Redo operations, by code

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
StartBlockUndoRedo();
with Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do
begin
h := StartUpdateLink;
Color := $ff;
Width := 2;
ShowDir := False;
ShowLinkType := EXSWIMLANELib.ShowLinkTypeEnum.exLinkStraight;
EndUpdateLink(h);
end;
EndBlockUndoRedo();
EndUpdate();
end
|
|
81
|
No color is restored for the link when Undo/Redo operation is executed

// AddElement event - A new element has been added to the surface.
procedure TWinForm1.AxSwimLane1_AddElement(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_AddElementEvent);
begin
// Element.ShowCheckBox = True
// Element.CheckBoxAlign = 2
end;
with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
with Elements do
begin
Add('Check <b>1',TObject(-64),TObject(-64));
Add('Check <b>2',Nil,Nil).Checked := EXSWIMLANELib.CheckStateEnum.exChecked;
end;
StartBlockUndoRedo();
with Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do
begin
h := StartUpdateLink;
Color := $ff;
Width := 2;
ShowDir := False;
ShowLinkType := EXSWIMLANELib.ShowLinkTypeEnum.exLinkStraight;
EndUpdateLink(h);
end;
EndBlockUndoRedo();
EndUpdate();
end
|
|
80
|
Save the element's properties for Undo/Redo operations, by code

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Elements.Add('Item <b>1',TObject(-64),TObject(-64));
StartBlockUndoRedo();
with Elements.Add('Item <b>2',Nil,Nil) do
begin
h := StartUpdateElement;
BackColor := $0;
ForeColor := $ffffff;
BorderColor := $ff;
EndUpdateElement(h);
end;
EndBlockUndoRedo();
EndUpdate();
end
|
|
79
|
No color is restored for the element when Undo/Redo operation is executed

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Elements.Add('Item <b>1',TObject(-64),TObject(-64));
StartBlockUndoRedo();
with Elements.Add('Item <b>2',Nil,Nil) do
begin
h := StartUpdateElement;
BackColor := $0;
ForeColor := $ffffff;
BorderColor := $ff;
EndUpdateElement(h);
end;
EndBlockUndoRedo();
EndUpdate();
end
|
|
78
|
How can I ensure that a specified element fits the surface's visible area

with AxSwimLane1 do
begin
with Elements do
begin
with Add('Element A',TObject(-100),Nil).Pattern do
begin
Type := EXSWIMLANELib.PatternEnum.exPatternBDiagonal;
Color := $e0e0e0;
end;
Add('Element B',TObject(2000),Nil).EnsureVisible();
end;
end
|
|
77
|
LayoutEndChanging(exUndo), LayoutEndChanging(exRedo) or LayoutEndChanging(exUndoRedoUpdate) notifiy your application once a Undo/Redo operation is executed (CTRL+Z, CTRL+Y) or updated
// LayoutEndChanging event - Notifies your application once the control's layout has been changed.
procedure TWinForm1.AxSwimLane1_LayoutEndChanging(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_LayoutEndChangingEvent);
begin
with AxSwimLane1 do
begin
OutputDebugString( 'LayoutEndChanging' );
OutputDebugString( e.operation );
end
end;
with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
EndUpdate();
end
|
|
76
|
Turn on the Undo/Redo feature

with AxSwimLane1 do
begin
BeginUpdate();
AllowUndoRedo := True;
Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122));
with Elements do
begin
Add('Item <b>1',TObject(-64),TObject(-64));
Add('Item <b>2',Nil,Nil);
end;
Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
EndUpdate();
end
|
|
75
|
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)

// AddElement event - A new element has been added to the surface.
procedure TWinForm1.AxSwimLane1_AddElement(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_AddElementEvent);
begin
// Element.ShowCheckBox = True
end;
with AxSwimLane1 do
begin
BeginUpdate();
ImageSize := 32;
Font.Size := 16;
ContextMenuFont.Size := 16;
Images('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');
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6' +
'CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM' +
'RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxR' +
'DWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYF' +
'oFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4Uk' +
'mCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAo' +
'chqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0' +
'ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8' +
'CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2U' +
'gJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==');
Add(2,'gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6' +
'CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM' +
'RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4n' +
'GKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnSc' +
'g1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpA' +
'oPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaDR' +
'DFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lG' +
'NAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQBg' +
'k0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuX' +
'pMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2Cy' +
'A4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8Rp' +
'BzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8T' +
'I7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeH' +
'GFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuh' +
'oiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMs' +
'CwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4ga' +
'BEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgs' +
'wOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBtY' +
'QGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBh' +
'YDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0Mg' +
'RBCCQAgQEA==');
Add(3,'gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6' +
'CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM' +
'RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4n' +
'GKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnSe' +
'Q7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJjn' +
'OIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMaJ' +
'9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTGS' +
'UwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4y' +
'mkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgkX' +
'I/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD6' +
'BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BRA' +
'jDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBEB' +
'wpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQH' +
'oFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgRh' +
'cDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOCQ' +
'AA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYjV' +
'HiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4z' +
'xW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBsH' +
'0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=');
Add(4,'gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL' +
'UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU' +
'rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3' +
'NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY' +
'YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm' +
'WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo' +
'WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS' +
'e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF' +
'CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==');
end;
set_Background(EXSWIMLANELib.BackgroundPartEnum.exCheckBoxState0,$1000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exCheckBoxState1,$2000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exCheckBoxState2,$3000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuSelBackColor,$4000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuSelForeColor,$1);
with Elements do
begin
with Add('Element Check 2',Nil,Nil) do
begin
Checked := EXSWIMLANELib.CheckStateEnum.exChecked;
Pictures := '1,2';
end;
end;
Home();
EndUpdate();
end
|
|
74
|
ImageSize property on 16 (default) (specifies the size of control' icons)

// AddElement event - A new element has been added to the surface.
procedure TWinForm1.AxSwimLane1_AddElement(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_AddElementEvent);
begin
// Element.ShowCheckBox = True
end;
with AxSwimLane1 do
begin
BeginUpdate();
ImageSize := 16;
Images('gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqd' +
'SqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVtt' +
'mp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8ac' +
'vQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTG' +
'sbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPn' +
'wD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==');
with Elements do
begin
with Add('Element Check 2',Nil,Nil) do
begin
Checked := EXSWIMLANELib.CheckStateEnum.exChecked;
Pictures := '1,2';
end;
end;
Home();
EndUpdate();
end
|
|
73
|
We want to have option to start/end connectors at the middle of each side of the elements
with AxSwimLane1 do
begin
BeginUpdate();
ShowLinks := EXSWIMLANELib.ShowExtendedLinksEnum.exShowLinks;
with Elements do
begin
Add('Element <sha ;;0>1',Nil,Nil);
Add('Element <sha ;;0>2',TObject(164),TObject(64));
Add('Element <sha ;;0>3',TObject(0),TObject(132));
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
end;
FitToClient();
EndUpdate();
end
|
|
72
|
How can I determine the position the user clicks within the element's boundaries (Click event)

// Click event - Occurs when the user presses and then releases the left mouse button over the control.
procedure TWinForm1.AxSwimLane1_ClickEvent(sender: System.Object; e: System.EventArgs);
begin
with AxSwimLane1 do
begin
e := (get_ElementFromPoint(-1,-1) as Object);
X := -1;
Y := -1;
PointToPosition(X,Y);
OutputDebugString( e );
OutputDebugString( X );
OutputDebugString( Y );
end
end;
with AxSwimLane1 do
begin
BeginUpdate();
with Elements do
begin
Add('Element 1',Nil,Nil);
Add('Element 2',TObject(128),TObject(64));
end;
FitToClient();
EndUpdate();
end
|
|
71
|
How can I determine the position the user clicks within the element's boundaries (MouseMove event)

// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxSwimLane1_MouseMoveEvent(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_MouseMoveEvent);
begin
with AxSwimLane1 do
begin
e := (get_ElementFromPoint(e.x,e.y) as Object);
PointToPosition(e.x,e.y);
OutputDebugString( e );
OutputDebugString( e.x );
OutputDebugString( e.y );
end
end;
with AxSwimLane1 do
begin
BeginUpdate();
with Elements do
begin
Add('Element 1',Nil,Nil);
Add('Element 2',TObject(128),TObject(64));
end;
FitToClient();
EndUpdate();
end
|
|
70
|
How can I convert the screen position (mouse) to surface position

// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxSwimLane1_MouseMoveEvent(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_MouseMoveEvent);
begin
with AxSwimLane1 do
begin
OutputDebugString( 'Point ' );
OutputDebugString( e.x );
OutputDebugString( e.y );
PointToPosition(e.x,e.y);
OutputDebugString( 'Position ' );
OutputDebugString( e.x );
OutputDebugString( e.y );
end
end;
with AxSwimLane1 do
begin
BeginUpdate();
with Elements do
begin
Add('Element <sha ;;0>1',Nil,Nil);
Add('Element <sha ;;0>2',TObject(164),TObject(64));
Add('Element <sha ;;0>3',TObject(0),TObject(132));
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(1)],Nil);
end;
FitToClient();
AxisStyle := EXSWIMLANELib.LinesStyleEnum.exLinesSolid;
AxisColor := Color.FromArgb(128,128,128);
EndUpdate();
end
|
|
69
|
Is is possible to show just the positive coordinates

with AxSwimLane1 do
begin
BeginUpdate();
Coord := Integer(EXSWIMLANELib.CoordEnum.exAllowPositiveOnly) Or Integer(EXSWIMLANELib.CoordEnum.exCartesian);
AxisColor := Color.FromArgb(128,128,128);
AxisStyle := Integer(EXSWIMLANELib.LinesStyleEnum.exLinesThick) Or Integer(EXSWIMLANELib.LinesStyleEnum.exLinesDot);
ShowLinks := EXSWIMLANELib.ShowExtendedLinksEnum.exShowLinks;
with Elements do
begin
Add('Element <sha ;;0>1',Nil,Nil);
Add('Element <sha ;;0>2',TObject(164),TObject(64));
Add('Element <sha ;;0>3',TObject(0),TObject(132));
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
end;
FitToClient();
EndUpdate();
end
|
|
68
|
Cartesian coordinates (positive coordinates are shown top-right to the origin)

with AxSwimLane1 do
begin
BeginUpdate();
Coord := EXSWIMLANELib.CoordEnum.exCartesian;
with Elements do
begin
Add('Element <sha ;;0>1',Nil,Nil);
Add('Element <sha ;;0>2',TObject(164),TObject(64));
Add('Element <sha ;;0>3',TObject(0),TObject(132));
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(1)],Nil);
end;
FitToClient();
EndUpdate();
end
|
|
67
|
Default coordinates (positive coordinates are shown bottom-right to the origin)

with AxSwimLane1 do
begin
BeginUpdate();
Coord := EXSWIMLANELib.CoordEnum.exDefCoord;
with Elements do
begin
Add('Element <sha ;;0>1',Nil,Nil);
Add('Element <sha ;;0>2',TObject(164),TObject(64));
Add('Element <sha ;;0>3',TObject(0),TObject(132));
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(1)],Nil);
end;
FitToClient();
EndUpdate();
end
|
|
66
|
Is it possible to customize the path of the links orthogonally similar with Microsoft Visio tool

with AxSwimLane1 do
begin
BeginUpdate();
AllowLinkControlPoint := Integer(EXSWIMLANELib.LinkControlPointEnum.exOrthoArrange) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exMiddleControlPoint) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exControlPoint) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exEndControlPoint) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exStartControlPoint);
with Elements do
begin
Add('Element <sha ;;0>1',Nil,Nil);
Add('Element <sha ;;0>2',TObject(164),TObject(64));
Add('Element <sha ;;0>3',TObject(0),TObject(132));
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(1)],Nil);
end;
Zoom := 200;
FitToClient();
EndUpdate();
end
|
|
65
|
Does your control supports OLE Drag and Drop
// OLEDragDrop event - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
procedure TWinForm1.AxSwimLane1_OLEDragDrop(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_OLEDragDropEvent);
begin
with AxSwimLane1 do
begin
OutputDebugString( e.data );
end
end;
// OLEStartDrag event - Occurs when the OLEDrag method is called.
procedure TWinForm1.AxSwimLane1_OLEStartDrag(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_OLEStartDragEvent);
begin
// Data.SetData("some data to drag")
end;
with AxSwimLane1 do
begin
BeginUpdate();
OLEDropMode := EXSWIMLANELib.exOLEDropModeEnum.exOLEDropManual;
with Pools.Add(TObject(-250),TObject(-150),TObject(500),TObject(250)) do
begin
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 2;
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Count := 1;
end;
with Elements do
begin
with Add('Click the Element wait for .5 second until + cursor is shown, to start <b>OLE Drag and Drop</b>',Nil,Nil) do
begin
CaptionSingleLine := EXSWIMLANELib.CaptionSingleLineEnum.exCaptionWordWrap;
AutoSize := False;
X := -125;
Y := -105;
Width := 256;
Height := 56;
end;
with Add('Click the Element wait for .5 second until + cursor is shown, to start <b>OLE Drag and Drop</b>',Nil,Nil) do
begin
CaptionSingleLine := EXSWIMLANELib.CaptionSingleLineEnum.exCaptionWordWrap;
AutoSize := False;
X := -125;
Width := 256;
Height := 56;
end;
end;
EndUpdate();
end
|
|
64
|
Is it possible to disable customizing the path of a specified link

with AxSwimLane1 do
begin
BeginUpdate();
AllowLinkControlPoint := EXSWIMLANELib.LinkControlPointEnum($ffffff80 Or Integer(EXSWIMLANELib.LinkControlPointEnum.exAllowChangeTo) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exAllowChangeFrom) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exOrthoArrange) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exMiddleControlPoint) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exControlPoint) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exEndControlPoint) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exStartControlPoint));
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B',TObject(164),TObject(64));
Add('Element <sha ;;0>B',TObject(0),TObject(132));
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil).CustomPath := '0.5,0.25,0.5,.75';
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(2)],Nil).CustomPath := '0.5,0.25,0.5,.75';
with Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(1)],Nil) do
begin
ShowLinkType := EXSWIMLANELib.ShowLinkTypeEnum.exLinkRound;
StartPos := EXSWIMLANELib.AlignmentEnum.LeftAlignment;
Color := $808080;
AllowControlPoint := EXSWIMLANELib.LinkControlPointEnum.exNoControlPoint;
end;
end;
Zoom := 200;
FitToClient();
EndUpdate();
end
|
|
63
|
How do I let user customizes the link's path

with AxSwimLane1 do
begin
BeginUpdate();
AllowLinkControlPoint := EXSWIMLANELib.LinkControlPointEnum($ffffff80 Or Integer(EXSWIMLANELib.LinkControlPointEnum.exAllowChangeTo) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exAllowChangeFrom) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exOrthoArrange) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exMiddleControlPoint) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exControlPoint) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exEndControlPoint) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exStartControlPoint));
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B',TObject(164),TObject(64));
Add('Element <sha ;;0>B',TObject(0),TObject(132));
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil).CustomPath := '0.5,0.25,0.5,.75';
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(2)],Nil).CustomPath := '0.5,0.25,0.5,.75';
with Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(1)],Nil) do
begin
ShowLinkType := EXSWIMLANELib.ShowLinkTypeEnum.exLinkRound;
StartPos := EXSWIMLANELib.AlignmentEnum.LeftAlignment;
end;
end;
Zoom := 200;
FitToClient();
EndUpdate();
end
|
|
62
|
How can I generate a picture/image/graph from my diagram
with AxSwimLane1 do
begin
with Elements do
begin
Add('Element A',Nil,Nil).ID := 'A';
Add('Element B',Nil,Nil).ID := 'B';
Add('Element C',Nil,Nil).ID := 'C';
Add('Element D',Nil,Nil).ID := 'D';
Add('Element E',Nil,Nil).ID := 'E';
Add('Element E',Nil,Nil).ID := 'F';
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['D'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['C'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['E'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['F'],Nil);
end;
set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeCompact,TObject(False));
Arrange(Nil);
var_CopyTo := get_CopyTo('c:/temp/xtest.jpg');
OutputDebugString( '!!!check the file c:/temp/xtest.jpg!!!' );
end
|
|
61
|
How can I generate a picture/image/graph from my diagram
with AxSwimLane1 do
begin
with Elements do
begin
Add('Element A',Nil,Nil).ID := 'A';
Add('Element B',Nil,Nil).ID := 'B';
Add('Element C',Nil,Nil).ID := 'C';
Add('Element D',Nil,Nil).ID := 'D';
Add('Element E',Nil,Nil).ID := 'E';
Add('Element E',Nil,Nil).ID := 'F';
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['D'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['C'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['E'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['F'],Nil);
end;
set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeCompact,TObject(False));
Arrange(Nil);
with (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.Print')) as EXPRINTLib.Print) do
begin
PrintExt := (AxSwimLane1.GetOcx() as EXSWIMLANELib.SwimLane).DefaultDispatch;
CopyTo('c:/temp/xtest.jpg');
end;
OutputDebugString( '!!!check the file c:/temp/xtest.jpg!!!' );
end
|
|
60
|
How can I print the component
with AxSwimLane1 do
begin
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B',TObject(0),TObject(76));
with Add('Element <sha ;;0>C',TObject(-76),TObject(32)) do
begin
AutoSize := False;
Height := 32;
end;
with Add('Element <sha ;;0>D',TObject(76),TObject(32)) do
begin
AutoSize := False;
Height := 32;
end;
end;
with Links do
begin
with Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
end;
with Add(AxSwimLane1.Elements.Item[TObject(2)],AxSwimLane1.Elements.Item[TObject(1)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
end;
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(4)],Nil);
with Add(AxSwimLane1.Elements.Item[TObject(4)],AxSwimLane1.Elements.Item[TObject(3)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.LeftAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.RightAlignment;
end;
end;
with (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.Print')) as EXPRINTLib.Print) do
begin
PrintExt := (AxSwimLane1.GetOcx() as EXSWIMLANELib.SwimLane).DefaultDispatch;
Preview();
end;
end
|
|
59
|
How can I show direct-links

with AxSwimLane1 do
begin
ShowLinksType := EXSWIMLANELib.ShowLinkTypeEnum.exLinkDirect;
with Elements do
begin
Add('Element A',Nil,Nil).ID := 'A';
Add('Element B',TObject(128),TObject(64)).ID := 'B';
Add('Element C',TObject(128),TObject(-64)).ID := 'C';
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil);
end;
end
|
|
58
|
How can I show straight-links

with AxSwimLane1 do
begin
ShowLinksType := EXSWIMLANELib.ShowLinkTypeEnum.exLinkStraight;
with Elements do
begin
Add('Element A',Nil,Nil).ID := 'A';
Add('Element B',TObject(128),TObject(64)).ID := 'B';
Add('Element C',TObject(128),TObject(-64)).ID := 'C';
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil);
end;
end
|
|
57
|
How can I show round-links

with AxSwimLane1 do
begin
ShowLinksType := EXSWIMLANELib.ShowLinkTypeEnum.exLinkRound;
with Elements do
begin
Add('Element A',Nil,Nil).ID := 'A';
Add('Element B',TObject(128),TObject(64)).ID := 'B';
Add('Element C',TObject(128),TObject(-64)).ID := 'C';
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil);
end;
end
|
|
56
|
I've tried to insert a "<br>" in the Caption property text and it just ignores it

with AxSwimLane1 do
begin
BeginUpdate();
with Elements do
begin
with Add('caption',Nil,Nil) do
begin
CaptionSingleLine := EXSWIMLANELib.CaptionSingleLineEnum.exCaptionWordWrap;
Caption := 'first caption<br>second caption<br>third caption';
end;
end;
EndUpdate();
end
|
|
55
|
How do I align the extra-caption

with AxSwimLane1 do
begin
BeginUpdate();
with Elements do
begin
with Add('caption',Nil,Nil) do
begin
CaptionAlign := EXSWIMLANELib.ContentAlignmentEnum.exTopLeft;
AutoSize := False;
Width := 128;
Height := 64;
ExtraCaption := 'extra-caption';
ExtraCaptionAlign := EXSWIMLANELib.ContentAlignmentEnum.exBottomRight;
end;
end;
EndUpdate();
end
|
|
54
|
How can I add an extra caption

with AxSwimLane1 do
begin
BeginUpdate();
with Elements do
begin
Add('caption',Nil,Nil).ExtraCaption := 'extra-caption';
end;
EndUpdate();
end
|
|
53
|
I am using the reserve-neighbors feature, the question is how to shift left/right the neighbors instead of up/down
with AxSwimLane1 do
begin
BeginUpdate();
AllowMoveNeighbors := EXSWIMLANELib.MoveNeighborsEnum.exMoveNeighborsHorizontally;
set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeDir,TObject(1));
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B ( move it )',TObject(16),TObject(32));
Add('Element <sha ;;0>C',TObject(128),TObject(0));
end;
EndUpdate();
end
|
|
52
|
I am using the reserve-neighbors feature, the question is if possible to specify the distance between neighbors
with AxSwimLane1 do
begin
BeginUpdate();
AllowMoveNeighbors := EXSWIMLANELib.MoveNeighborsEnum.exMoveNeighborsVertically;
set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeDX,TObject(0));
set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeDY,TObject(0));
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B ( move it )',TObject(0),TObject(32));
Add('Element <sha ;;0>C',TObject(0),TObject(64));
end;
EndUpdate();
end
|
|
51
|
How do I enable the reserve-neighbors feature
with AxSwimLane1 do
begin
BeginUpdate();
AllowMoveNeighbors := EXSWIMLANELib.MoveNeighborsEnum.exMoveNeighborsVertically;
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B ( move it )',TObject(0),TObject(32));
Add('Element <sha ;;0>C',TObject(0),TObject(64));
end;
EndUpdate();
end
|
|
50
|
I've noticed that recently, the elements get compacted once the Arrange method is performed. How can I prevent that

with AxSwimLane1 do
begin
with Elements do
begin
Add('Element A',Nil,Nil).ID := 'A';
Add('Element B',Nil,Nil).ID := 'B';
Add('Element C',Nil,Nil).ID := 'C';
Add('Element D',Nil,Nil).ID := 'D';
Add('Element E',Nil,Nil).ID := 'E';
Add('Element E',Nil,Nil).ID := 'F';
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['D'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['C'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['E'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['F'],Nil);
end;
set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeCompact,TObject(False));
Arrange(Nil);
end
|
|
49
|
How can I move an element to a specified lane/phase/pool

with AxSwimLane1 do
begin
BeginUpdate();
set_DefPoolHeaderCaptionFormat(True,'<fgcolor 808080>Faza <off -4><b><font ;6>%i');
set_DefPoolHeaderCaptionFormat(False,'<fgcolor 808080>Culoar <off -4><b><font ;6>%i');
with Pools.Add(TObject(-100),TObject(-100),TObject(250),TObject(180)) do
begin
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 3;
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Count := 3;
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Item[TObject(1)].Header.Caption := '<fgcolor FF0000><b>NEW';
end;
with Elements.Add('element 1',TObject(200),TObject(200)) do
begin
LaneID[True] := '0:H.0,0:V.0';
end;
with Elements.Add('element 2',TObject(200),TObject(200)) do
begin
LaneID[True] := '0:H.2,0:V.2';
end;
EndUpdate();
end
|
|
48
|
Is it possible to add a link to show from bottom/down to top/up, rather that right to left (method-2)

// AddLink event - A new link has been added to the links collection.
procedure TWinForm1.AxSwimLane1_AddLink(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_AddLinkEvent);
begin
with AxSwimLane1 do
begin
with e.link do
begin
end;
end
end;
with AxSwimLane1 do
begin
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B',TObject(48),TObject(48));
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
end;
end
|
|
47
|
Is it possible to add a link to show from bottom/down to top/up, rather that right to left (method-1)

with AxSwimLane1 do
begin
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B',TObject(48),TObject(48));
end;
with Links do
begin
with Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.DownAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.UpAlignment;
end;
end;
end
|
|
46
|
How do I enable the cross link support ( mixed )

with AxSwimLane1 do
begin
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B',TObject(0),TObject(76));
with Add('Element <sha ;;0>C',TObject(-76),TObject(32)) do
begin
AutoSize := False;
Height := 32;
end;
with Add('Element <sha ;;0>D',TObject(76),TObject(32)) do
begin
AutoSize := False;
Height := 32;
end;
end;
with Links do
begin
with Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
end;
with Add(AxSwimLane1.Elements.Item[TObject(2)],AxSwimLane1.Elements.Item[TObject(1)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
end;
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(4)],Nil);
with Add(AxSwimLane1.Elements.Item[TObject(4)],AxSwimLane1.Elements.Item[TObject(3)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.LeftAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.RightAlignment;
end;
end;
ShowLinks := Integer(EXSWIMLANELib.ShowExtendedLinksEnum.exShowCrossLinksMixt) Or Integer(EXSWIMLANELib.ShowExtendedLinksEnum.exShowExtendedLinks);
end
|
|
45
|
How do I enable the cross link support ( triangular )

with AxSwimLane1 do
begin
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B',TObject(0),TObject(76));
with Add('Element <sha ;;0>C',TObject(-76),TObject(32)) do
begin
AutoSize := False;
Height := 32;
end;
with Add('Element <sha ;;0>D',TObject(76),TObject(32)) do
begin
AutoSize := False;
Height := 32;
end;
end;
with Links do
begin
with Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
end;
with Add(AxSwimLane1.Elements.Item[TObject(2)],AxSwimLane1.Elements.Item[TObject(1)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
end;
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(4)],Nil);
with Add(AxSwimLane1.Elements.Item[TObject(4)],AxSwimLane1.Elements.Item[TObject(3)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.LeftAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.RightAlignment;
end;
end;
ShowLinks := Integer(EXSWIMLANELib.ShowExtendedLinksEnum.exShowCrossLinksTriangle) Or Integer(EXSWIMLANELib.ShowExtendedLinksEnum.exShowExtendedLinks);
end
|
|
44
|
How do I enable the cross link support ( rectangular )

with AxSwimLane1 do
begin
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B',TObject(0),TObject(76));
with Add('Element <sha ;;0>C',TObject(-76),TObject(32)) do
begin
AutoSize := False;
Height := 32;
end;
with Add('Element <sha ;;0>D',TObject(76),TObject(32)) do
begin
AutoSize := False;
Height := 32;
end;
end;
with Links do
begin
with Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
end;
with Add(AxSwimLane1.Elements.Item[TObject(2)],AxSwimLane1.Elements.Item[TObject(1)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
end;
Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(4)],Nil);
with Add(AxSwimLane1.Elements.Item[TObject(4)],AxSwimLane1.Elements.Item[TObject(3)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.LeftAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.RightAlignment;
end;
end;
ShowLinks := Integer(EXSWIMLANELib.ShowExtendedLinksEnum.exShowCrossLinksRect) Or Integer(EXSWIMLANELib.ShowExtendedLinksEnum.exShowExtendedLinks);
end
|
|
43
|
How do I show a link frmo bottom to top, or reverse, not from left to right

with AxSwimLane1 do
begin
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B',TObject(0),TObject(64));
end;
with Links do
begin
with Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do
begin
StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment;
end;
end;
end
|
|
42
|
Is it possible to control the links, so that they are always centered

with AxSwimLane1 do
begin
with Elements do
begin
Add('Element A',Nil,Nil).ID := 'A';
Add('Element B',Nil,Nil).ID := 'B';
Add('Element C',Nil,Nil).ID := 'C';
Add('Element D',Nil,Nil).ID := 'D';
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['D'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['C'],Nil);
end;
ShowLinks := EXSWIMLANELib.ShowExtendedLinksEnum.exShowLinks;
set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeDir,TObject(1));
Arrange(Nil);
end
|
|
41
|
What options to align the elements do I have if I use Arrange method

with AxSwimLane1 do
begin
BeginUpdate();
ShowGridLines := True;
with Elements do
begin
h1 := Add('Top Alignment',Nil,Nil).ID;
Add('Element',Nil,Nil);
Add('Element',Nil,Nil);
Add('Element',Nil,Nil);
h2 := Add('Center Alignment',Nil,TObject(96)).ID;
Add('Element',Nil,TObject(96));
Add('Element',Nil,TObject(96));
Add('Element',Nil,TObject(96));
h3 := Add('Bottom Alignment',Nil,TObject(178)).ID;
Add('Element',Nil,TObject(192));
Add('Element',Nil,TObject(192));
Add('Element',Nil,TObject(192));
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(3)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(2)],AxSwimLane1.Elements.Item[TObject(4)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(2)],AxSwimLane1.Elements.Item[TObject(3)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(5)],AxSwimLane1.Elements.Item[TObject(6)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(5)],AxSwimLane1.Elements.Item[TObject(7)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(6)],AxSwimLane1.Elements.Item[TObject(8)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(6)],AxSwimLane1.Elements.Item[TObject(7)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(9)],AxSwimLane1.Elements.Item[TObject(10)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(9)],AxSwimLane1.Elements.Item[TObject(11)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(10)],AxSwimLane1.Elements.Item[TObject(12)],Nil);
Add(AxSwimLane1.Elements.Item[TObject(10)],AxSwimLane1.Elements.Item[TObject(11)],Nil);
end;
set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeAlign,TObject(0));
Arrange(TObject(h1));
set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeAlign,TObject(1));
Arrange(TObject(h2));
set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeAlign,TObject(2));
Arrange(TObject(h3));
EndUpdate();
end
|
|
40
|
Is there an auto-arrange feature that will display the flow-chart centered and zoomed correctly after we are finished building it

with AxSwimLane1 do
begin
with Elements do
begin
Add('Element A',Nil,Nil).ID := 'A';
Add('Element B',Nil,Nil).ID := 'B';
Add('Element C',Nil,Nil).ID := 'C';
Add('Element D',Nil,Nil).ID := 'D';
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['D'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['C'],Nil);
end;
Arrange(Nil);
end
|
|
39
|
Is it possible to change the distance between elements, when calling the Arrange method

with AxSwimLane1 do
begin
with Elements do
begin
Add('Element A',Nil,Nil).ID := 'A';
Add('Element B',Nil,Nil).ID := 'B';
Add('Element C',Nil,Nil).ID := 'C';
Add('Element D',Nil,Nil).ID := 'D';
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['D'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['C'],Nil);
end;
set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeDX,TObject(0));
set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeDY,TObject(0));
Arrange(Nil);
end
|
|
38
|
How do I organize vertically the elements

with AxSwimLane1 do
begin
with Elements do
begin
Add('Element A',Nil,Nil).ID := 'A';
Add('Element B',Nil,Nil).ID := 'B';
Add('Element C',Nil,Nil).ID := 'C';
Add('Element D',Nil,Nil).ID := 'D';
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil);
Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['D'],Nil);
Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['C'],Nil);
end;
ShowLinksType := EXSWIMLANELib.ShowLinkTypeEnum.exLinkStraight;
set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeDir,TObject(1));
Arrange(Nil);
end
|
|
37
|
How can I add programatically a link

with AxSwimLane1 do
begin
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B',TObject(96),TObject(24));
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
end;
end
|
|
36
|
How do I get the link from the cursor
// MouseMove event - Occurs when the user moves the mouse.
procedure TWinForm1.AxSwimLane1_MouseMoveEvent(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_MouseMoveEvent);
begin
with AxSwimLane1 do
begin
l := (get_LinkFromPoint(-1,-1) as Object);
OutputDebugString( l );
end
end;
with AxSwimLane1 do
begin
with Elements do
begin
Add('Element <sha ;;0>A',Nil,Nil);
Add('Element <sha ;;0>B',TObject(96),TObject(24));
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil);
end;
end
|
|
35
|
Is there a way to create a link which has the same start and end element

with AxSwimLane1 do
begin
with Elements do
begin
Add('Element',Nil,Nil);
end;
with Links do
begin
Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(1)],Nil);
end;
end
|
|
34
|
How can I show the pool's caption not-rotated or mirrored

with AxSwimLane1 do
begin
BeginUpdate();
AllowDesignHeader := EXSWIMLANELib.AllowDesignHeaderEnum.exDesignHeaderSingle;
with Pools.Add(TObject(-150),TObject(-150),TObject(300),TObject(150)) do
begin
HeaderCaptionSupportRotate := False;
HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderLeft] := 48;
HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderRight] := 48;
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 3;
end;
EndUpdate();
end
|
|
33
|
How can I prevent creating sub-lanes or sub-phases

with AxSwimLane1 do
begin
BeginUpdate();
AllowDesignHeader := EXSWIMLANELib.AllowDesignHeaderEnum.exDesignHeaderSingle;
with Pools.Add(TObject(-150),TObject(-150),TObject(300),TObject(150)) do
begin
HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderLeft] := 32;
HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderRight] := 32;
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 3;
end;
EndUpdate();
end
|
|
32
|
How do I show a complete frame/border around the header

with AxSwimLane1 do
begin
BeginUpdate();
with Pools.Add(TObject(-150),TObject(-150),TObject(300),TObject(150)) do
begin
HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderTop] := 32;
HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderBottom] := 32;
with Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children do
begin
Count := 3;
Item[TObject(1)].Header.Pattern.Type := EXSWIMLANELib.PatternEnum.exPatternFrameThick;
end;
end;
EndUpdate();
end
|
|
31
|
How do I show a complete frame/border around the lane

with AxSwimLane1 do
begin
BeginUpdate();
with Pools.Add(TObject(-150),TObject(-150),TObject(300),TObject(150)) do
begin
HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderTop] := 32;
HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderBottom] := 32;
with Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children do
begin
Count := 3;
Item[TObject(1)].Pattern.Type := EXSWIMLANELib.PatternEnum.exPatternFrameThick;
end;
end;
EndUpdate();
end
|
|
30
|
How can I define sub-lanes

with AxSwimLane1 do
begin
BeginUpdate();
with Pools.Add(TObject(-150),TObject(-150),TObject(300),TObject(250)) do
begin
HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderTop] := 32;
HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderBottom] := 32;
with Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children do
begin
Count := 3;
Item[TObject(1)].Children.Count := 2;
end;
end;
EndUpdate();
end
|
|
29
|
How can I add default lanes when the user creates a new pool
// AddPool event - A new pool has been added to the surface.
procedure TWinForm1.AxSwimLane1_AddPool(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_AddPoolEvent);
begin
// Pool.HeaderSize(1) = 24
// Pool.HeaderVisible(0) = False
// Pool.HeaderVisible(1) = True
// Pool.HeaderVisible(2) = False
// Pool.HeaderVisible(3) = False
// Pool.Lane(1).Children.Count = 2
end;
with AxSwimLane1 do
begin
BeginUpdate();
Pools.Add(TObject(-100),TObject(-100),TObject(250),TObject(250));
EndUpdate();
end
|
|
28
|
How do I prevent showing headers when the user creates new pools

// AddPool event - A new pool has been added to the surface.
procedure TWinForm1.AxSwimLane1_AddPool(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_AddPoolEvent);
begin
with AxSwimLane1 do
begin
with e.pool do
begin
end;
end
end;
with AxSwimLane1 do
begin
BeginUpdate();
Pools.Add(TObject(-100),TObject(-100),TObject(250),TObject(250)).Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 3;
EndUpdate();
end
|
|
27
|
How can I display icons on headers

with AxSwimLane1 do
begin
BeginUpdate();
Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' +
'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' +
'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
with Pools.Add(TObject(-100),TObject(-100),TObject(250),TObject(250)) do
begin
HeaderVisible[EXSWIMLANELib.HeaderPosEnum.exHeaderLeft] := False;
HeaderVisible[EXSWIMLANELib.HeaderPosEnum.exHeaderRight] := False;
HeaderVisible[EXSWIMLANELib.HeaderPosEnum.exHeaderBottom] := False;
HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderTop] := 24;
with Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children do
begin
Count := 3;
Item[TObject(0)].Header.Caption := '<img>1</img> A';
Item[TObject(1)].Header.Caption := '<img>2</img> B';
Item[TObject(2)].Header.Caption := '<img>3</img> C';
end;
end;
EndUpdate();
end
|
|
26
|
How do I change the Lane and Phase strings being displayed on the lanes

with AxSwimLane1 do
begin
BeginUpdate();
set_DefPoolHeaderCaptionFormat(True,'<fgcolor 808080>Faza <off -4><b><font ;6>%i');
set_DefPoolHeaderCaptionFormat(False,'<fgcolor 808080>Culoar <off -4><b><font ;6>%i');
with Pools.Add(TObject(-100),TObject(-100),TObject(250),TObject(250)) do
begin
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 3;
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Count := 3;
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Item[TObject(1)].Header.Caption := '<fgcolor FF0000><b>NEW';
end;
EndUpdate();
end
|
|
25
|
How can I enlarge the node while AutoSize property is True (method 2)

with AxSwimLane1 do
begin
set_Background(EXSWIMLANELib.BackgroundPartEnum.exElementBackColor,$ffffff);
with Elements.Add('Element',TObject(0),TObject(0)).Copy(Nil,Nil) do
begin
Caption := 'Enlarged Element';
InflateSize := 16;
end;
end
|
|
24
|
How can I enlarge the node while AutoSize property is True (method 1)

with AxSwimLane1 do
begin
set_Background(EXSWIMLANELib.BackgroundPartEnum.exElementBackColor,$ffffff);
with Elements.Add('Element',TObject(0),TObject(0)).Copy(Nil,Nil) do
begin
Caption := 'Enlarged Element';
Padding[EXSWIMLANELib.PaddingEdgeEnum.exPaddingAll] := 16;
end;
end
|
|
23
|
How can I get the lane of the element

with AxSwimLane1 do
begin
BeginUpdate();
Pools.Add(TObject(-150),TObject(-150),TObject(500),TObject(250)).Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 3;
with Elements.Add('Element',Nil,Nil) do
begin
CenterOnLane(False);
lane := LaneID[False];
OutputDebugString( AxSwimLane1.LaneByID[TObject(lane)].Header.Caption );
end;
EndUpdate();
end
|
|
22
|
How can I define a different shape for elements

// AddElement event - A new element has been added to the surface.
procedure TWinForm1.AxSwimLane1_AddElement(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_AddElementEvent);
begin
with AxSwimLane1 do
begin
with e.element do
begin
end;
end
end;
with AxSwimLane1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAAChABAQDg6AADACAxRDQNABQKAAzQFAYahuHKGAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQwDiAUIjIK8IhkGIcZAGIBJCjWGodQLOEgwHI' +
'ERQjEyUJAGGYqEjaO41SpAdI0PCxUScACnDQiegJRgmQ4cTJSchSAKENx1JaeYReewwAqNd5TRwNIiydZUIhqGC1YRte4ZWiCWoJVzSVDLfbgAT4X60IIlCi5Mi6MIgD' +
'ZJFDUNLUdRBMKNJ7qagaWoWOaQRbmAQQTRYLQ/TiEXZDQRAAyLJIWVRQWTAAKVbw1LiEcznGCcejzIIDaZpOh4DplWzTOgALjta4IRpvNwAbIAF4gBqsLyXXLcdQyORM' +
'iwbxZgSDhgnQbJFC6F5JhECA8CADwIgMeQnmoQJlh0eAfGcXYZjwccOHiWx/moAJ6jed4DC2dJnnmQRxBcKABBoWAcHULZLHyV4mmGOx0FmdpZAMAgQhEQBpBiRxBlQc' +
'gZFUdAMEYAxQDECBNgaUYglkCQKBGZANk0QgBgQXAQgcGI0FwJAHA6WI+DGDAjCiVg0g2Yw4mYNg7E0eJ1H+DpkAiYhBg6JApBYRMvDkJhGhKJIImEA4QledZ8H+FJlE' +
'EQhWBAJa8loRoCgkdhYBAExZHQKIXmUYRCFQI5mgWfZ4hMJpJC4boTGcCY0m0QJVBAIh2EIZZ5H4VIVAqeZ1H8M5oAmSg7g8TR1n4fQrmUQZCgqF5eEmYhYBgKQJiCD4' +
'PmaegKhWJZnAQDZkhqaYKFocYnGadZ8h+KJoiGQhfEIURAmKEAYAgeo1H8OZrAoeoyhGKYngaHInmuCpOjmKAkHMHo+iiSZxmKQoXkGCwWigRQlnqLh7jKSh7DYUYzm0' +
'CgAk+DIrFCAo3i6LYKnKWYuk6Wp4keKIqDsLh7BYLhJmaZo5mcYAijAOZtFsXpajubZLG6co8CSShtnYeJrGeVpzjwbxLnafI/mcK5ZnmPgtGuap+j6cIMB8CocDAK43' +
'AaQAwjwJwQkSaZsDcBI7jETBHBqRhxkibwWkCMQsgcG5Ii2TB+nkN5yEyJwjkqcJMh8DpKDKTIrB2TBmnyGwFkwMw8mcMpOmQbJbBiTwziyUxBDsc5sD8QJRnQKprEWT' +
'g0g0DxNlKMpsF8RpSHUTQ7BuUp0n0VxZi4MxrDSJ40DYDYHGKWJ2E2FxmyADYnGqMRBgeYh0FOLh9kccpcncJsVw7RdjvA2M4eovRmCSFkMwQIoAQEBA');
Add(2,'gBFLBCJwBAEHhEJAAChABAIDg6AADACAxRDQNABQKAAzQFAYaBmG6GAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQ1DAAUIjKLMIhmGAYJAGIBJCjWGodQLOEgwHI' +
'ERQjEyUpIyVAkYw5HqNaQjICoJoSOwAU47IaCIAFJSpCygKKgSjhRpoAAyU5IUgVPC4XSbD6zYDqapaTheEQyDSJNr3DCMUTlFYYLrmaQKMhqZJhWjbFSWXUpJ4pSrLM' +
'IyfTwZRJGzIK7jabLIjaP6GUDhVaYbRUL46CiEb5AAJsVpCCZrYRJOYVdQeDYbQCNLDhHQIDqaA6kZRAdQ2bpMBznPSvbovDgLWhGYqhbLCNibRC+d4HNrCYIlCjpMw3' +
'CYGIOHOMRsm0OxFjSZppneHQNFcSwRAOaprjqY4dgYe4VgGWwADucRuHYCpdByYROH8AAOC8D4NgEXwYBWEZyGAWoHg2MRCECBAkFAGhGDGUB1ByBhQkUIAPgCRAMEIE' +
'xhIuNhCEKBAlnAcwQgAYQXAIIRWEUFwJAGQ42CiCoihiLgugsYwDjSZ4MkICJWCaDZjgiZg6EIQQInSV4PmKeIyEKEBkBQDhEgwZBzjSd4SlEQJgk+E5khkRhIhSZA5F' +
'IUoVGWCQkl+FpkliTJnhXSYaFaGJOlEIhmC2ZoJgIZIaiWGYuG62IpDyT4TGSM5eGyCpmCnPIcCeQg+H6HZmnoAh6iAaBDjSL4hkUCgmgKHhlHmeIPh8BwKAqEohGkOg' +
'OHCI4pAmMoMhUKByj6CQUCkWoGhSKJpGkJoQiOJR6G4cYTmcSQuiKKRqEqPovhmBIJiCN4YEACQGFsN5lliToyiwbAKkKQoSGcWQ2HKERrhiJJvjLUR8leL5sDsBpQiU' +
'ZZpDaO4eAACZWh+LYtDsSpejQbmJnIEAuEsLJvECRgLiSH46m2W4Gl+OxpFqWo0ECSR7lQaI9m8C4+nqO4uAIHp+B4MAJmcAAeC+YgenmPwwHwHInkKRYMDaWIQGmeh3' +
'AmPpxDsCJHkWbhBAIdZDmMGZXBmRZMHwVwikUIwam0MAMC4awiEmOYyHsXwkkIMp5jMLBMDKaRiiqEBsmkNwpkwc5MyiHRrEKfxCiobIaFsQgvmsTBvD2SJuAwNBYkKS' +
'h6GsRYbDUDQ7EyVZmEwDwFiKdQ6BQf5XnYDRjD6IIujIfppBgKRcl6BZZnYXYLBWLYpn0KpglqLAtAIZoOneBsZw9RJjnQ+AYQAgCAg=');
Add(3,'gBFLBCJwBAEHhEJAAChABQsMACAADACAxRDQNABQKAAzQFAYawLBgABhGUZoJhUAIIRZGMIjFDcEwxC6NIpAWCYQgUNQCQiNAzxAKQchhD4ZAIkGY4ZhyA42SBAcbyDC' +
'EShoGqPRhmCg5UjmM4oQLSFDULC0fSBBIYaSGEY5QoqIYfArGQYQTRUPyUdoOBIACwLChWLA1CTZdowSKoYTXBq3IgqerIapmSYaV7YNh3VY1IR/JSVJYlaYJDoyNI4T' +
'hHc5xVLtfSfAiiJrxOKcTAAFJ0QKFUbRUz+OgBTpvaZxagaSpSG5WRpWEI5PAdN4zTa7YDsS67FiSG5oWpEFq2eAGdzlVLMMqhG5gAxqNKzbLfMCXfJIbyrBIcYLoXIt' +
'CqFYskMTwxlgAY+haFZRlQZQ4HwHR3AoMx5jEch2lMfZGl8eY+jYXBvBsAAHFeRQDmuRR8nsSI2CoEgIEIRQBiQYwdAcUZIGUUIQhGGAGECRAhDYChGFERAMCgQheEcG' +
'QgHkEAwkICx2BCFoAj+B5iAiBgigiYhIgid4JkIQBwm2ChijiKgsguYpokYLYMmKQIiDYDgjgEAg6g6Y5InYPoPmOIAiEKEJFgkFIvhGYwIlIMoSTmAhOGgJJJC4UoSi' +
'USIcncKZlp8WoOAOAxeF6FBlEkNhPGcZgJhYU4ZiMMweGoDAmkGfhuhWJoJDgIIUCYeZWGGHYkhkWhuB+ZYhEIcIUmcKZSHeIJmgoFgyCeaIBgKCoYCgGYSHiI5oEoQg' +
'siKBgKCCH4SOAfoGiQaZKPmJ5jGCIJniiZgpk6DonGkKomgOHpnjqFoCiaawKioSYXg0eoGi6KZrBqIo6hgEIal6GosiwCpuDIBgsEqDJniYa4bVuFYkDqepKjCLQJii' +
'R4XCyawGk+JpGgsZIXjabRbEKV4disSYwDCH5OlsIpWjmaA5HKUomCYOp+l6OgkhoUoWiMLpbH6bw7G0KRynOHYuGuXobhWB4MAaaoaimO52naB4hnkYInhERYLBAGAh' +
'nECw+H2BwhkmSg7kMMIqHyb49hAECAg=');
Add(4,'gBFLBCJwBAEHhEJAAChABOIDg6AADACAxRDQNABQKAAzQFAYaBqGCGAAGEZRSgmFgAQhFcZQTCsBw7DCEYxjOAwFgmEQxDIOIBQSKYcwiGQaRrkIYgEiONoaR7HchSFI' +
'cIxPFKRBhkKYocjyG5GRoBcIyXAcRSYAB2Q4ESoKShePw5UDTcCzHR8RxEDKNRLpOQbDgOUZTWbVUaDKIsXzZCKHbZhG4YRp6CZKRpYEB1bYtKTRKqLKrpeTbOoSHolT' +
'biIATTYlG4THyEZQrDIaDjOSIXZaGFzwSDWGgBJ60bRwHIaAxGWoHRxfEZVfBONQHMSBc5xa64JyHAImWrcUbWfaYYZ0AC6MRkK8cXABPQANixKZsCizE4DDbTYzjRhe' +
'C2F4nnEOJRG0BRXEWOICEocByiyCJTiQOJVGYIQ8gofpDgsG5uF+ah6D2Xp+GGP5gkCfwRHofwOnuSB2heVpZnIUZQhAIQJBQBoRgwdAdEcIYVEIQhGGAMQDBCBJYEUG' +
'gNhCEMcHsXIkCIAAMIILQWAkAZDjYJIJiIWIeCqCRMHiNI/guYwIkYMoMmMSJWDaDZjgiTIzg6Yo4iIPoPGIdAmECChiFKXhGAQJIAmISgQCSSQ2E6E5lAkRhShSZRJF' +
'QOoVkCaRkAqFpQhIPhehCY54hYQoRCOYo+GaExOnmJhghqZhJjIYYbmaaJ0l+HJkiCYgtDGY5RkIegfmeSY6GOD4MnoBh1D2aBJkYbYhmcCgigaIhOloEJ3h0aATD4bg' +
'WCkQoehaGAnniHhNgwKI6HaConmiSYCF4I5niGQoLDmaoAiKKoaE6eJ2H+HZnFoeohigKwqCwGItmqA4ejIHgrkIHo+iuEA4h6PGMmIHo1i0LIKk6SoMCSWwcm2LAkis' +
'AAAgmQgLFYcw3myaxmkmG4GgsdIXjebYjjaVQIC0eQFAONADguBpqjaaIKlwGIuG4GwOkWOYAAqDoljqbIrmIJ41m4O5iGYK5FAwBp0ikag7mqbI+GoCwyEyPgpBCQwO' +
'j0KRBGKFgpnAbAjXWMQ8EaeIuG6a5SHWHZxFyBoIjEbA8FQCJJmiZAmmOORwHyCwXgkbwqn8LYoDKOZNAmJpinyOzTm8aZrBWH5QhGAxCCedBMm8L5Fi+fAEFCPgvksV' +
'p0h8NQBn8RpLi7NQKBALxLHyF43EaDRPDOMoxkqXp4kYaRLlMTQIDWbQeguR5iluBxCBgNBCH6dIJnaSZjF+LQZgGQSh5DOFEa4dQsi5GILsaA8ReBuHoEYZ4ZwkDFFw' +
'JEYo2grjcHOFUAoFA7gJFqFEDYrQyilC+PwNgyRBBLH4C8FIzxiD8CeBYEgUQ9CtAiEwYgtQyDqDWPUTjBhXBrCmAcKoJQ6iGF6DEMA8BpieA4BgMQdxDg9GSOkLQgRC' +
'jhHiDMV4Ewfh3AoGULIiBujRAuJ0c4+gEi4ASOkRAfhWgjCKKEFACCAg');
Add(5,'gBFLBCJwBAEHhEJAAChABGgDg6AADACAxRDQNABQKAAzQFAYZBwGiGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJAKCQ3DTJUBjIKcIhiGsgAzAJIUaw1DqGY7nKZoRi' +
'oAIoSAMM7DCKUQSLGyQZqBSCQGjsAI+OyHAiABSNJwtHygIRoKqqHg2PoiSAEUZhdRlHShKSqLQiaIRSDUJZsW5EIyjBZ8EznOqbJApOKrCgOTYaWbUdSxPTEUwTFiXJ' +
'gmKRKIoiOAAY7IEgSFLsThrIKha5yDI4bxyAwXQjeYABbY0E4HQarcqzCrKGp/HYJXyAGgQHYkB5JAaQMBtGpoJrCeKQXDdVyXFwdET1BLZQA2HeUTTRVCScqnaTMZh8' +
'DgGxniKfYbngAxFkmVJAnSdougwDhRlMGZ1GEPR9HQapDGWWhyCMe4ugQDx9naYRvm6cQfAUJ47m8cofBYAZOGCHg2mETgCBCERAGkGJHEGVByBkUwUCSIgChAMQIE2B' +
'JRiQVQDAoEIWlWIxOgGBBcGyBQYlQXAkAcDpYh4KYKCKKI2CyC5ijONJvgySZ4lQWINkKCJmCWDpjkQaJPg+UA4joMYQiQI4eEYHAkgAYhKBgJJCh43JlAkEgwhSJA5E' +
'4VoVE6UQCFoL5lkkBhXhUCR5gYOQKAieYUneGZlEmJhfhqZYJFIWgQCWQp+F6GxigmHJ3BoJ4JmYMw7maKZSH6HxoAiQhvhwZ1VHYFAogmBIXiAZ55jKDIQgeChGG+G5' +
'BAoVJHiWaBYkIecznoOoeiMZYCj6IoYmcGhckeCophONoKh4aZagKLYrGkEZggeLJkCmThGDmZg5m6L4nmuOoCHaGJNnsBooAAIopCAcIZEiep2kqLwpnqCIviIBQLA4' +
'dolEECZakuK4sksYhYAgLZLOsQJLHuBBIjibR7haWYfGwawhAOJpmBuGpajuJRJkYbxAmgORynCOZvgqApejcAgIG4OYUA0e5em+PhokQXhKAYKx8AsCo+FEcJDA6D5M' +
'nwLwDkTWJulQQJuDEIphC2cQsHYbJEDCYJBAOLBrDIHwekUMBIiITgpmMcRhAOKYDgyRwnkyYwMjcK4cnAfAnCmSgzkoGhnkGZ45k6SIxjMTPIFCZOZEKSBxA0Fpui2b' +
'5LFoKIqGoaY/FKUY1gmdpQjOKxbBIV4zi0DQ6nmOhmFkUophCLILEMV5YiWCZkH+W5nl2HxfiiMwQmMTZOmqLhaLsx9iUH6JAMI1hCDjECFQawhghjBG2DseoGQzhNHw' +
'DwTAMAsgTEeCUZI1Q5jFHyLodYmWxB8GsPEVIPwxhSD6Awb4dgJD2HsAQQIoAQEB');
end;
set_Background(EXSWIMLANELib.BackgroundPartEnum.exElementBackColor,$ffffff);
with Elements do
begin
Add('Rectangular',TObject(0),TObject(0)).Shape := EXSWIMLANELib.ShapeEnum.exShapeRectangular;
Add('Round',TObject(82),TObject(0)).Shape := EXSWIMLANELib.ShapeEnum.exShapeRound;
Add('Rhomb',TObject(138),TObject(0)).Shape := EXSWIMLANELib.ShapeEnum.exShapeRhomb;
Add('Circle',TObject(196),TObject(0)).Shape := EXSWIMLANELib.ShapeEnum.exShapeCircle;
with Add('EBN 1',TObject(0),TObject(36)) do
begin
BackColor := $1000000;
Border := EXSWIMLANELib.LinesStyleEnum.exNoLines;
end;
with Add('EBN 2',TObject(54),TObject(36)) do
begin
BackColor := $2000000;
Border := EXSWIMLANELib.LinesStyleEnum.exNoLines;
end;
with Add('EBN 3',TObject(108),TObject(36)) do
begin
BackColor := $3000000;
Border := EXSWIMLANELib.LinesStyleEnum.exNoLines;
end;
with Add('EBN 4 ',TObject(160),TObject(36)) do
begin
BackColor := $4000000;
Border := EXSWIMLANELib.LinesStyleEnum.exNoLines;
end;
with Add('EBN 5 ',TObject(220),TObject(36)) do
begin
BackColor := $5000000;
MinHeight := 64;
MinWidth := 64;
Border := EXSWIMLANELib.LinesStyleEnum.exNoLines;
end;
end;
set_ScrollPos(False,-160);
EndUpdate();
end
|
|
21
|
Is it possible to add an inner control on the surface

// OleEvent event - Occurs once an inside control fires an event.
procedure TWinForm1.AxSwimLane1_OleEvent(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_OleEventEvent);
begin
with AxSwimLane1 do
begin
OutputDebugString( e.ev );
end
end;
with AxSwimLane1 do
begin
with Elements do
begin
with Add('activex hosting',Nil,Nil) do
begin
Type := EXSWIMLANELib.ElementHostTypeEnum.exElementHostControl;
Control := 'Forms.CommandButton.1';
Caption := 'Command Button';
Height := 64;
Width := 128;
ElementFormat := '14;"caption"/"client"';
CaptionAlign := EXSWIMLANELib.ContentAlignmentEnum.exTopCenter;
end;
end;
end
|
|
20
|
How can I create a copy of the element
with AxSwimLane1 do
begin
set_Background(EXSWIMLANELib.BackgroundPartEnum.exElementBackColor,$ffffff);
Elements.Add('Element 1',TObject(0),TObject(0)).Copy(Nil,Nil).Caption := 'Aka';
end
|
|
19
|
How can I define an opaque background for elements

with AxSwimLane1 do
begin
set_Background(EXSWIMLANELib.BackgroundPartEnum.exElementBackColor,$ffffff);
Elements.Add('Element 1',TObject(0),TObject(0));
Elements.Add('Element 2',TObject(16),TObject(16));
end
|
|
18
|
How can I show a different context-menu for all elements
// ActionContextMenu event - Occurs when the user selects an item from the object's context menu.
procedure TWinForm1.AxSwimLane1_ActionContextMenu(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_ActionContextMenuEvent);
begin
with AxSwimLane1 do
begin
OutputDebugString( e.action );
OutputDebugString( e.objectID );
OutputDebugString( e.commandID );
end
end;
with AxSwimLane1 do
begin
set_ContextMenu(EXSWIMLANELib.ContextMenuObjectTypeEnum.exContextMenuElement,'Item 1[id=1000],Item 2[id=2000]');
set_Background(EXSWIMLANELib.BackgroundPartEnum.exElementBackColor,$ffffff);
Elements.Add('Element 1',TObject(0),TObject(0));
Elements.Add('Element 2',TObject(16),TObject(16));
end
|
|
17
|
How can I show a different context-menu for element
with AxSwimLane1 do
begin
OutputDebugString( Elements.Add('Element',TObject(0),TObject(0)).InvokeContextMenu('Item 1[id=1000],Item 2[id=2000]') );
end
|
|
16
|
How can I change the design-modes being shown on the control's toolbar

with AxSwimLane1 do
begin
DesignModes := 'Read-Only#0,Allow Any#3,Only-Element#1,Only-Pool#2';
end
|
|
15
|
How can I change the default header's background color

with AxSwimLane1 do
begin
BeginUpdate();
with Pools.Add(TObject(-250),TObject(-150),TObject(500),TObject(250)) do
begin
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 4;
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Count := 4;
end;
set_Background(EXSWIMLANELib.BackgroundPartEnum.exPoolHorizontalHeaderBackColor,$ff00);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exPoolVerticalHeaderBackColor,$c000);
EndUpdate();
end
|
|
14
|
How can I remove the Design item from the control's toolbar, to be locked ( no-design )

with AxSwimLane1 do
begin
ToolBarFormat := '-1,100,101';
DesignMode := EXSWIMLANELib.DesignModeEnum.exDesignLock;
end
|
|
13
|
How can I remove/disable the Color and Display-Grid from the surface's context menu

with AxSwimLane1 do
begin
set_ContextMenu(EXSWIMLANELib.ContextMenuObjectTypeEnum.exContextMenuSurface,'Delete[id=-32004](All[id=-32000][ttp=Deletes all the objects from the surface],[sep],Elements[id=-32001][ttp=Deletes all element' +
's from the surface],Links[id=-32002][ttp=Deletes all links from the surface],Pools[id=-32003][ttp=Deletes all pools from the sur' +
'face])');
end
|
|
12
|
How can I change the element's context-menu when the user right-clicks the element

// ActionContextMenu event - Occurs when the user selects an item from the object's context menu.
procedure TWinForm1.AxSwimLane1_ActionContextMenu(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_ActionContextMenuEvent);
begin
// ContextMenuObjectFromID(ObjectType,ObjectID).BackColor = RGB(255,255,0)
with AxSwimLane1 do
begin
OutputDebugString( e.action );
OutputDebugString( e.commandCaption );
end
end;
with AxSwimLane1 do
begin
BeginUpdate();
Elements.Add('element',TObject(0),TObject(0));
set_ContextMenu(EXSWIMLANELib.ContextMenuObjectTypeEnum.exContextMenuElement,'Simple,Value[edit=123],[sep],Popup(Check 1[chk],Check 2[chk=1])');
EndUpdate();
end
|
|
11
|
How do I prevent showing the context-menu when user right-clicks the surface
with AxSwimLane1 do
begin
set_ContextMenu(EXSWIMLANELib.ContextMenuObjectTypeEnum.exContextMenuSurface,'');
end
|
|
10
|
How do I create parent-child (tree) lanes

with AxSwimLane1 do
begin
BeginUpdate();
with Pools.Add(TObject(-250),TObject(-150),TObject(500),TObject(250)) do
begin
HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderTop] := 32;
HeaderVisible[EXSWIMLANELib.HeaderPosEnum.exHeaderBottom] := False;
with Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children do
begin
Count := 2;
with Item[TObject(0)].Children do
begin
Count := 2;
Item[TObject(0)].Header.Caption := 'Phase <b>1.1';
Item[TObject(1)].Header.Caption := 'Phase <b>1.2';
end;
end;
end;
EndUpdate();
end
|
|
9
|
How do I create a pool with horizontal and lanes

with AxSwimLane1 do
begin
BeginUpdate();
with Pools.Add(TObject(-250),TObject(-150),TObject(500),TObject(250)) do
begin
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 4;
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Count := 4;
end;
EndUpdate();
end
|
|
8
|
How do I add programatically a pool with horizontal lanes

with AxSwimLane1 do
begin
BeginUpdate();
with Pools.Add(TObject(-250),TObject(-150),TObject(500),TObject(250)) do
begin
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 4;
end;
EndUpdate();
end
|
|
7
|
How do I add programatically a pool with vertical lanes

with AxSwimLane1 do
begin
BeginUpdate();
with Pools.Add(TObject(-250),TObject(-150),TObject(500),TObject(250)) do
begin
Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Count := 4;
end;
EndUpdate();
end
|
|
6
|
How can I change the toolbar's visual appearance

with AxSwimLane1 do
begin
VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarAppearance,$1000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarBackColor,$ffffff);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarForeColor,$282828);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonDownBackColor,$1606060);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonDownForeColor,$f0f0f0);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonHotBackColor,$1a0a0a0);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonHotForeColor,$ffffff);
end
|
|
5
|
How can I change the toolbar's background color

with AxSwimLane1 do
begin
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarBackColor,$ffffff);
end
|
|
4
|
How can I fit or ensure that all elements are in the control's client area
with AxSwimLane1 do
begin
with Elements do
begin
Add('Element A',TObject(-500),TObject(-500)).BackColor := $ff00;
Add('Element B',TObject(500),TObject(500)).BackColor := $ff;
Add('Element C',TObject(48),TObject(24));
end;
FitToClient();
end
|
|
3
|
Context Menu - Microsoft Windows 8.1 - Ribbon Like

with AxSwimLane1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(1,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_background.ebn');
Add(2,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_groupt.ebn');
Add(12,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_hot.ebn');
Add(14,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_select.ebn');
Add(17,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_tab.ebn');
Add(18,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_tabhot.ebn');
Add(30,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_radio0.ebn');
Add(31,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_radio1.ebn');
Add(32,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_check0.ebn');
Add(33,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_check1.ebn');
Add(34,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_buttonu.ebn');
Add(35,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_buttond.ebn');
end;
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuAppearance,$1000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolTipAppearance,$1fefefe);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuSelBackColor,$e000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarAppearance,$1000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarBackColor,$ffffff);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonHotBackColor,$c000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonDownBackColor,$e000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuHotBackColor,$c000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuSelHotBackColor,$23000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum($2),$22000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum($3),$23000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exCheckBoxState0,$20000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exCheckBoxState1,$21000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exRadioButtonState0,$1e000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exRadioButtonState1,$1f000000);
EndUpdate();
end
|
|
2
|
Context Menu - Microsoft Paint - Ribbon Like

with AxSwimLane1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(1,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_background.ebn');
Add(2,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_groupt.ebn');
Add(3,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_groupo.ebn');
Add(4,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_grouphot.ebn');
Add(5,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_frameh.ebn');
Add(6,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framehs.ebn');
Add(7,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framehi.ebn');
Add(8,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framehe.ebn');
Add(9,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framevs.ebn');
Add(10,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framevi.ebn');
Add(11,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_frameve.ebn');
Add(12,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_select.ebn');
Add(13,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_bordert.ebn');
Add(14,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_buttond.ebn');
Add(15,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_buttonu.ebn');
Add(16,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_tab.ebn');
Add(17,'CP:16 0 0 0 1');
Add(18,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_tabhot.ebn');
Add(19,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_tabselhot.ebn');
Add(20,'CP:19 0 0 0 1');
end;
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuAppearance,$1000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuForeColor,$8b4215);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuSelBackColor,$e000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolTipAppearance,$1fefefe);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarAppearance,$1000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarBackColor,$ffffff);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonHotBackColor,$d000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonDownBackColor,$1000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum($2),$d000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameSingle,$5000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameHStart,$6000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameHIntermediate,$7000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameHEnd,$8000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameVStart,$9000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameVIntermediate,$a000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameVEnd,$b000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuHotBackColor,$c000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuSelHotBackColor,$f000000);
EndUpdate();
end
|
|
1
|
Context Menu - Microsoft Office - Ribbon Like

with AxSwimLane1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(1,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_background.ebn');
Add(2,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_groupt.ebn');
Add(3,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_groupo.ebn');
Add(4,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_grouphot.ebn');
Add(5,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_frameh.ebn');
Add(6,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framehs.ebn');
Add(7,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framehi.ebn');
Add(8,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framehe.ebn');
Add(9,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framevs.ebn');
Add(10,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framevi.ebn');
Add(11,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_frameve.ebn');
Add(12,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_select.ebn');
Add(13,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_bordert.ebn');
Add(14,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_buttond.ebn');
Add(15,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_buttonu.ebn');
Add(16,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_tab.ebn');
Add(17,'CP:16 0 0 0 1');
Add(18,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_tabhot.ebn');
Add(19,'C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_tabselhot.ebn');
Add(20,'CP:19 0 0 0 1');
end;
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuAppearance,$1000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuForeColor,$8b4215);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolTipAppearance,$1fefefe);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarAppearance,$1000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarBackColor,$ffffff);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonHotBackColor,$d000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonDownBackColor,$1000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum($2),$d000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum($3),$1000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameSingle,$5000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameHStart,$6000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameHIntermediate,$7000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameHEnd,$8000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameVStart,$9000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameVIntermediate,$a000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuGroupPopupFrameVEnd,$b000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuHotBackColor,$c000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuSelBackColor,$e000000);
set_Background(EXSWIMLANELib.BackgroundPartEnum.exContextMenuSelHotBackColor,$f000000);
EndUpdate();
end
|